package com.unknown.common.widget;

import android.support.v7.widget.RecyclerView;
import android.util.SparseArray;
import android.view.View;
import android.widget.TextView;

public class CommonViewHolder extends RecyclerView.ViewHolder {
    private SparseArray<View> sparseArray;
    private View treeItemView;

    CommonViewHolder(View treeItemView) {
        super(treeItemView);
        this.treeItemView = treeItemView;
        this.sparseArray = new SparseArray<>();
    }

    private View getView(int id) {
        View view = sparseArray.get(id);
        if (view == null) {
            view = treeItemView.findViewById(id);
            sparseArray.put(id, view);
        }
        return view;
    }

    public CommonViewHolder setText(int id, String text) {
        TextView textView = (TextView) getView(id);
        if (text == null) {
            textView.setText("");
        } else {
            textView.setText(text);
        }
        return this;
    }
//
//        public CommonViewHolder appendText(int id, String text) {
//            TextView textView = (TextView) getView(id);
//            if (text != null) {
//                textView.setText((textView.getText() + text));
//            }
//            return this;
//        }

//        public CommonViewHolder setTextColor(int id, int color) {
//            ((TextView) getView(id)).setTextColor(color);
//            return this;
//        }
//
//        public CommonViewHolder setImageResource(int id, int resId) {
//            ((ImageView) getView(id)).setImageResource(resId);
//            return this;
//        }
//
//        public CommonViewHolder setEnabled(int id, boolean enable) {
//            getView(id).setEnabled(enable);
//            return this;
//        }
//
//        public CommonViewHolder setVisibility(int id, int visibility) {
//            getView(id).setVisibility(visibility);
//            return this;
//        }
//
//        public CommonViewHolder setBackgroundResource(int id, int backgroundResource) {
//            getView(id).setBackgroundResource(backgroundResource);
//            return this;
//        }

    public CommonViewHolder setOnclickListener(int id, View.OnClickListener onclickListener) {
        getView(id).setOnClickListener(onclickListener);
        return this;
    }
}
